00001
00009 #include "dll.h"
00010 #include <windows.h>
00011 #include <stdio.h>
00012 #include <stdlib.h>
00013 #include <conio.h>
00014
00015 #define MAX_SIZE 12
00016
00032 DLLIMPORT void ssolution(int iboard[MAX_SIZE][MAX_SIZE],int iblength,int isolutions,int *iauthor ,char cfilename[100])
00033 {
00034 FILE *pfile;
00035 int ik;
00036 int ii;
00037
00038 pfile=fopen(cfilename,"a");
00039 if(!pfile)
00040 {
00041 gotoxy(3,16);
00042 printf("Filename Error!");
00043 gotoxy(3,17);
00044 printf("Can%ct write [%s]",39,cfilename);
00045 }
00046 else
00047 {
00048
00049 if(!*iauthor)
00050 {
00051 fprintf(pfile,"%d-QUEENS-PROBLEM\nAuthor : Daniel Hasemann\nVersion : 1.2\n\n",iblength);
00052 *iauthor=1;
00053 }
00054
00055 for(ii=0;ii<iblength;ii++)
00056 {
00057 for(ik=0;ik<iblength;ik++)
00058 {
00059 if(iboard[ik][ii])
00060 {
00061 fprintf(pfile,"[%c%d]",ii+65,iblength-ik);
00062 }
00063
00064 }
00065 }
00066 fprintf(pfile," >>>Solution [%d] ",isolutions);
00067 fprintf(pfile,"\n");
00068 fclose(pfile);
00069 }
00070 }
00071
00072
00073 BOOL APIENTRY DllMain (HINSTANCE hInst ,
00074 DWORD reason ,
00075 LPVOID reserved )
00076 {
00077 switch (reason)
00078 {
00079 case DLL_PROCESS_ATTACH:
00080 break;
00081
00082 case DLL_PROCESS_DETACH:
00083 break;
00084
00085 case DLL_THREAD_ATTACH:
00086 break;
00087
00088 case DLL_THREAD_DETACH:
00089 break;
00090 }
00091
00092
00093 return TRUE;
00094 }